1. Field of the Invention
The present invention relates generally to computer systems, and more particularly, to systems and methods for controlling remote console functionality assist logic devices that are used for accessing computer systems from remote locations.
2. Description of Related Art
An overwhelming trend affecting the server marketplace today is the growth of the distributed enterprise. As a result of the server proliferation throughout an enterprise, customers are demanding high-availability solutions that reduce or eliminate downtime whenever possible. One method of achieving high availability is through the use of effective server management tools.
As can be readily appreciated, how a server will be accessed as well as the management functions that are to be performed are important considerations in determining appropriate server management tools. A server can be accessed in different ways, depending on connection method and server state. A server can be connected to other computers and devices through either an xe2x80x9cin-bandxe2x80x9d connection or an xe2x80x9cout-of-bandxe2x80x9d connection. In the context of the present patent application, an in-band connection refers to the communication connection that is made with the primary communication device for normal use by the server when it is not down. For example, it may be a network connection established through a medium such as a twisted pair 10 Base-T that is available for normal and customary access to the server. On the other hand, an out-of-band connection may be envisaged as a xe2x80x9cback-doorxe2x80x9d communication connection that is established when the server is down, that is, the server is not accessible through its normal, customary access means. The out-of-band connection can some times be viewed as an asynchronous connection also.
Once a connection is made to the server, a system administrator may need to use different server management tools, depending on whether the server is online or offline. An online server refers to one in which the Operating System (OS) is up and running. If the OS is down, the server is considered offline.
Remote server management devices have been used to facilitate remote access and administration of server computer systems in the event of a failure. Server failures may arise on account of several possibilities such as, for example, faults associated with the server OS, malfunctioning of one or more central processing units, network-related and power-related faults, et cetera. Typically, in such eventualities, normal access to the server and its internal diagnostic subsystems is lost. Accordingly, it is common to provide remote console functionality within servers to be able to access the failed server from a remote device.
The remote console functionality is typically designed to allow a user to access a server from another computer, or device, known as a management console, as though the user is at the server. Logic, which can be implemented as certain hardware and firmware modules, is provided to assist and realize such functionality. Henceforth, such logic will be referred to as xe2x80x9cremote console functionality assistxe2x80x9d logic. Such assist logic can include a video encoder and a keyboard interface logic that allows the user to input data to the server from a keyboard at the remote terminal. The video encoder, in combination with the server video controller, allows the user to receive output from the server on a display, such as a monitor, at the remote terminal.
The remote console functionality is advantageous because the user is provided with video and keyboard access, even where the Operating System of the server is down. The user therefore has the ability to access the server, perform diagnostics, reset the server, watch the reset process remotely, and view previously stored console activity, regardless of whether the server Operating System is online or offline.
The remote console functionality assist logic can also include out-of-band connection logic such as, for example, modem sharing logic. Such logic allows an asynchronous connection to be established between the server and a remote terminal. It can be appreciated that while remote console functionality can comprise discrete logic modules, it may often be implemented as an Application Specific Integrated Circuit (ASIC) also, giving rise to such structures as are known as Integrated Remote Console (IRC) devices.
Conventionally, the hardware of the remote console functionality assist logic is operated under the control of the server system processor or processors. Because of this arrangement, the hardware of the remote console functionality is often considered as xe2x80x9cslave hardware.xe2x80x9d The system processor controls the hardware of the remote console logic by executing software in the system management mode (SMM) invoked by a system management interrupt (SMI).
Several current remote server management solutions utilize the SMM-based scheme described above. However, these solutions are known to have several drawbacks and shortcomings. Because these devices are under the control of the system processor or processors, a portion of the processing capacity of the computer system is diverted. To minimize the processing capacity diversion, the functionality associated with the remote control software executed by the processor is typically provided to be rather rudimentary in nature. For example, the software does not include features such as a security layer. Advanced functionalities such as networking protocols (for example, the Point-to-Point Protocol) that are capable of multiple sessions, TELNET connections, et cetera, accordingly, are also not practical in current systems. Of course, while the system processor can execute more advanced software to control the remote console functionality hardware, providing such advanced software results in increased degradation of the processing power of the computer system.
Another drawback is that current remote server management devices depend on the proper functioning of the processors of the server computer system. However, if the processors of the computer system are not functioning, or malfunctioning, the remote console functionality is rendered inoperable. Therefore, the computer system will be inaccessible during such situations. Because the remote console functionality is used for troubleshooting a failed server, reliance on proper functioning of the processors thereof is not desirable.
A further drawback is that the access to the server system with current remote console functionality solutions is typically limited to a rather simple connection such as a modem connection. In a large enterprise computer system, it is highly cumbersome to provide at a server site for numerous modem/telephone connections. It is more preferable to have network connections, on the other hand, because of the speed and manageability.
Advanced remote server management solutions such as dedicated management subsystems/cards have been proposed which address some of the drawbacks described above. However, these advanced solutions are substantially expensive and suffer from an additional shortcoming of not being hot-pluggable. Accordingly, it should be readily appreciated that the use of such solutions will typically increase system downtime when devices embodying them need service or maintenance, thereby negatively impacting server availability.
The present invention, described and claimed hereinbelow, is directed to remote server management solutions that overcome these and other shortcomings and deficiencies of the extant systems.
The present invention provides a cost-effective remote server management solution that is highly versatile and expandable by virtue of a dedicated processor for controlling the remote console functionality assist logic. Further, by segmenting certain portions of the assist logic the remote console functionality may be rendered hot-pluggable. Furthermore, because of the increased processing power that is available, advanced features may be provided in the overall remote console functionality.
The present invention, accordingly, is directed to a computer system with a plurality of peripheral devices disposed on a bus, which computer system comprises: a remote console functionality assist logic structure disposed on the bus for effectuating remote system management applications relating to the computer system; and a processor for controlling at least one of the remote console functionality assist logic structure and one of the plurality of peripheral devices, wherein the processor receives interrupts from the remote console functionality assist logic structure responsive to one of the remote system management applications.
In a further aspect, the present invention is related to a computer system, comprising: a first peer Input/Output (I/O) bus for interconnecting a first plurality of devices and a first plurality of expansion slots; a second peer I/O bus for interconnecting a second plurality of devices and a second plurality of expansion slots; and an expansion board comprising a processor, the board disposed in one of the second plurality of expansion slots, the board further having a connector for facilitating the transmission of control signals associated with the processor, wherein the second plurality of devices includes a remote console functionality assist logic structure, which structure is controlled by the processor.
In a yet further aspect, the present invention is directed to a method of remotely monitoring a computer system, comprising the steps of: providing a remote console functionality assist logic structure associated with the computer system; establishing a connection between the computer system and a remote terminal; and controlling the remote console functionality assist logic structure by an Input/Output processor.